virtualenvで環境を作った際にデフォルトでインストールされるpipやらのライブラリはどこからくるのか
このへんからきます。
<PYTHON_PATH>/lib/pythonX.X/site-packages/virtualenv_support/XXXXX.whl
経緯
virtualenvを使って新しい環境を作る際、pip, setuptools, wheelなどの最小限のパッケージはデフォルトでインストールされます。
$ virtualenv hoge New python executable in /Users/hirata.kei/hoge/bin/python2.7 Also creating executable in /Users/hirata.kei/hoge/bin/python Installing setuptools, pip, wheel...done. $ cd hoge $ source bin/activate $ which pip /Users/hirata.kei/hoge/bin/pip
このpip、普段は特に気になりませんが、時間が経ちバージョンが古くなってくると、環境を作ってpip
コマンドを叩くたびにupgradeしろと言われて煩わしくなります。
$ pip list pip (7.1.2) ... You are using pip version 7.1.2, however version 9.0.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command.
インストール元のバージョンをあげれば問題なさそうですが、このpipがどこから来るのか不明だったため、環境を作るたびに都度pip install --upgrade pip
を叩いて問題を先送りにしていました。
調査
上記の状況に嫌気が指してきたので、頑張って調査してみることにしました。
詳細は省きますが、このあたりを眺めるとpipなどのライブラリがどこからインストールされているかを知ることができます。
最終的に、virtualenvをはじめにインストールした際に作成される、virtualenv_support/
ディレクトリ内のwheelがマスターであることがわかります。このwheelは、virtualenvのパッケージ内で管理されているものです。
というわけで、virtualenvをアップグレードし、問題は解消されました。
まとめ
こういう細かいけど気になる疑問を解消するの楽しい。